package com.party.course.service;

import java.util.HashSet;
import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.party.common.core.domain.entity.SysUser;
import com.party.course.domain.BearInfo;

/**
 * 承担量信息Service接口
 *
 * @author ruoyi
 * @date 2025-05-29
 */
public interface IBearInfoService extends IService<BearInfo> {

    /**
     * 查询可用的承担量
     * @param userId
     * @param expectTime
     * @return
     */
    public BearInfo findUseBear(HashSet<SysUser> userList, String expectTime, String isTest);

    /**
     * 扣除承担量
     * @param bearInfo
     * @param isTest
     */
    public void subBear(BearInfo bearInfo, String isTest);

    /**
     * 查询承担量信息
     *
     * @param id 承担量信息主键
     * @return 承担量信息
     */
    public BearInfo view(String id);

    /**
     * 查询承担量信息列表
     *
     * @param bearInfo 承担量信息
     * @return 承担量信息集合
     */
    public List<BearInfo> findList(BearInfo bearInfo);

    /**
     * 新增承担量信息
     *
     * @param bearInfo 承担量信息
     * @return 结果
     */
    public int add(BearInfo bearInfo);

    /**
     * 修改承担量信息
     *
     * @param bearInfo 承担量信息
     * @return 结果
     */
    public int updateEntity(BearInfo bearInfo);

    /**
     * 批量删除承担量信息
     *
     * @param ids 需要删除的承担量信息主键集合
     * @return 结果
     */
    public int deleteIds(List<String> ids);

    /**
     * 删除承担量信息信息
     *
     * @param id 承担量信息主键
     * @return 结果
     */
    public int deleteById(String id);
}
